package main

import (
	"fmt"
	"logTransfer/es"
	"logTransfer/kafka"
	"logTransfer/utils"
	"os"

	"gopkg.in/ini.v1"
)

var (
	cfg *ini.File
)

func init() {
	//1.初始化配置文件信息
	var err error
	cfg, err = ini.Load("conf/config.ini")
	if err != nil {
		fmt.Println("读取配置文件失败: ", err)
		os.Exit(1)
	}

	//2.初始化日志配置
	log_dir := cfg.Section("log").Key("dir").String()           //日志目录
	log_filename := cfg.Section("log").Key("filename").String() //日志文件名称
	log_level := cfg.Section("log").Key("level").String()       //日志等级
	log_timeout := cfg.Section("log").Key("timeout").MustInt(7) //日志过期时间
	err = utils.InitLog(log_dir, log_filename, log_level, log_timeout)
	if err != nil {
		fmt.Println("初始化日志配置失败: ", err)
		os.Exit(1)
	}
}

func main() {
	//1.初始化es
	es_addr := cfg.Section("es").Key("address").String()
	es_size := cfg.Section("es").Key("size").MustInt(500)
	es_num := cfg.Section("es").Key("num").MustInt(8)
	err := es.Init(es_addr, es_size, es_num)
	if err != nil {
		fmt.Println("初始化es失败: ", err)
		return
	}
	utils.Log.Info("初始化es成功")

	//2.初始化kafka
	kafka_addr := cfg.Section("kafka").Key("address").String()
	kafka_topic := cfg.Section("kafka").Key("topic").String()
	kafka_group := cfg.Section("kafka").Key("group").String()
	err = kafka.Init(kafka_addr, kafka_topic, kafka_group)
	if err != nil {
		fmt.Println("初始化kafka失败: ", err)
		return
	}
	utils.Log.Info("初始化kafka成功")
}
